//扁平化数组
//方案1  常规方案，递归调用
function recursionFlat(ary=[]){
    var res = [];
    ary.forEach(item=>{
        if(Array.isArray(item)){
            res.push(...recursionFlat(item));
        }else{
            res.push(item);
        }
    });
    return res;
}

//方案2 reduce 的第一个参数是上次计算的返回值
function reduceFlat(ary=[]){
    return ary.reduce((res,item)=>{
        return res.concat(Array.isArray(item)?reduceFlat(item):item);
    }, []);
}

var arr=[1,34,[2,34],[56,[32,43]]];
console.log(recursionFlat(arr));
console.log(reduceFlat(arr));